package top.chmin.project.cloud.common.config.auto;

// field import auto
// #bind.field.id#

import top.chmin.project.cloud.common.entity.*;

/**
 * chmin
 * 2023-12-27 14:44:36
 * cloud-builder
 */
public class ConfigFPC extends PreCondition {

    public ConfigFPC() {
    }

    public ConfigFPC(ConfigFPC parent) {
        super(parent);
    }

    public ConfigFPC forDelete() {
        type = "DELETE";
        return this;
    }

    public ConfigFPC forCount() {
        type = "COUNT";
        return this;
    }

    public ConfigFPC forDistinct() {
        type = "DISTINCT";
        return this;
    }

    public ConfigFPC limit(int limit) {
        super.limit = limit;
        return this;
    }

    public ConfigFPC sub() {
        return new ConfigFPC(this);
    }

    public ConfigFPC complete(boolean and) {
        finish(and);
        return parent == null ? this : (ConfigFPC) parent;
    }

    public Condition toCondition() {
        return toCondition(Config.class, "bs_config");
    }

    // field fpc auto
// #bind.field.id#
    public Id id() {
        return new Id();
    }

    public class Id extends LongFPCField<ConfigFPC> {
        private Id() {
            super(ConfigFPC.this, "id");
        }
    }
// $bind.field.id$

    // #bind.field.createBy#
    public CreateBy createBy() {
        return new CreateBy();
    }

    public class CreateBy extends StringFPCField<ConfigFPC> {
        private CreateBy() {
            super(ConfigFPC.this, "create_by");
        }
    }
// $bind.field.createBy$

    // #bind.field.updateBy#
    public UpdateBy updateBy() {
        return new UpdateBy();
    }

    public class UpdateBy extends StringFPCField<ConfigFPC> {
        private UpdateBy() {
            super(ConfigFPC.this, "update_by");
        }
    }
// $bind.field.updateBy$

    // #bind.field.createTime#
    public CreateTime createTime() {
        return new CreateTime();
    }

    public class CreateTime extends LocalDateTimeFPCField<ConfigFPC> {
        private CreateTime() {
            super(ConfigFPC.this, "create_time");
        }
    }
// $bind.field.createTime$

    // #bind.field.updateTime#
    public UpdateTime updateTime() {
        return new UpdateTime();
    }

    public class UpdateTime extends LocalDateTimeFPCField<ConfigFPC> {
        private UpdateTime() {
            super(ConfigFPC.this, "update_time");
        }
    }
// $bind.field.updateTime$

    // #bind.field.configCode#
    public ConfigCode configCode() {
        return new ConfigCode();
    }

    public class ConfigCode extends StringFPCField<ConfigFPC> {
        private ConfigCode() {
            super(ConfigFPC.this, "config_code");
        }
    }
// $bind.field.configCode$

    // #bind.field.configName#
    public ConfigName configName() {
        return new ConfigName();
    }

    public class ConfigName extends StringFPCField<ConfigFPC> {
        private ConfigName() {
            super(ConfigFPC.this, "config_name");
        }
    }
// $bind.field.configName$

    // #bind.field.javaPath#
    public JavaPath javaPath() {
        return new JavaPath();
    }

    public class JavaPath extends StringFPCField<ConfigFPC> {
        private JavaPath() {
            super(ConfigFPC.this, "java_path");
        }
    }
// $bind.field.javaPath$

    // #bind.field.uiPath#
    public UiPath uiPath() {
        return new UiPath();
    }

    public class UiPath extends StringFPCField<ConfigFPC> {
        private UiPath() {
            super(ConfigFPC.this, "ui_path");
        }
    }
// $bind.field.uiPath$

}